#ifndef BASEPLANE_H
#define BASEPLANE_H

#include <QWidget>
#include <QPixmap>

class BasePlane : public QWidget
{
    Q_OBJECT
public:
    explicit BasePlane(QWidget *parent = nullptr);
    ~BasePlane() override;

    // 获取飞机宽度
    int width() const { return pixmap.width(); }
    // 获取飞机高度
    int height() const { return pixmap.height(); }

    // 设置飞机显示的图片
    void setPixmap(const QPixmap &pixmap);
    // 获取当前飞机的图片
    QPixmap getPixmap() const { return pixmap; }

    // 碰撞检测：判断与其他 QWidget 是否相交
    bool collidesWith(QWidget *other) const;

protected:
    // 重写绘图事件，绘制飞机图片
    void paintEvent(QPaintEvent *event) override;

    // 存储飞机显示的图片
    QPixmap pixmap;
};

#endif // BASEPLANE_H
